package com.yanqu.road.server.manger.config.grandchild.talent.entity;

import com.yanqu.road.entity.config.skill.SkillInfo;
import com.yanqu.road.entity.grandchild.GrandChildData;

import java.util.ArrayList;
import java.util.List;

public final class TalentTriggerSkillParamBuilder {
    private GrandChildData grandChild;
    private SkillInfo skillInfo;
    private List<TalentTriggerResult> lastTriggerList = new ArrayList<>();

    private TalentTriggerSkillParamBuilder() {
    }

    public static TalentTriggerSkillParamBuilder aTalentTriggerSkillParam() {
        return new TalentTriggerSkillParamBuilder();
    }

    public TalentTriggerSkillParamBuilder setGrandChild(GrandChildData grandChild) {
        this.grandChild = grandChild;
        return this;
    }

    public TalentTriggerSkillParamBuilder setSkillInfo(SkillInfo skillInfo) {
        this.skillInfo = skillInfo;
        return this;
    }

    public TalentTriggerSkillParamBuilder setLastTriggerList(List<TalentTriggerResult> lastTriggerList) {
        this.lastTriggerList = lastTriggerList;
        return this;
    }

    public TalentTriggerSkillParam build() {
        TalentTriggerSkillParam talentTriggerSkillParam = new TalentTriggerSkillParam();
        talentTriggerSkillParam.setGrandChild(grandChild);
        talentTriggerSkillParam.setSkillInfo(skillInfo);
        talentTriggerSkillParam.setLastTriggerList(lastTriggerList);
        return talentTriggerSkillParam;
    }
}
